//
//  GKVideoCammer.h
//  GKVideoRecord
//
//  Created by Apple on 16/12/27.
//  Copyright © 2016年 郭凯. All rights reserved.
//

#import <UIKit/UIKit.h>
@class GPUImageView;


typedef enum : NSUInteger {
    GKcamerapPositionFont,
    GKcamerapPositionBack,
     GKcamerapPositionUknow,
} GKcamerapPositionType;

@protocol GKVideoCammerDelegate <NSObject>
/**视频录制完成*/
-(void)videoRecordFinished;

@end

@interface GKVideoCammer : NSObject

/**录制的最大时间 单位s 默认为8s*/
@property (nonatomic,assign) CGFloat maxRecordTime;
/**是否正在录制*/
@property (nonatomic,assign,getter=isRecording) BOOL recording;
/**是否完成录制*/
@property (nonatomic,assign,getter=isfinishRecording)BOOL finishRecording;
/**当前相机的类型 前置或者后置*/
@property (nonatomic,assign,readonly) GKcamerapPositionType cameraPosition;
/**代理*/
@property (nonatomic,weak) id<GKVideoCammerDelegate> delegate;
/**
  便利构造函数
 @param preview 图像预览视图
 */
- (instancetype)initWithPreview:(GPUImageView*)preview;

-(instancetype)init NS_UNAVAILABLE;


/**
 开始录制

 @param angle 相机开始录制的的角度
 @param beauty 是否美颜
 */
-(void)startRecordWithCammerAngle:(CGFloat)angle beauty:(BOOL)beauty;
/**
 暂停录制
 */
-(void)pasueRecord;
/**
 恢复录制
 */
-(void)resumeRecord;
/**
 取消录制
 */
-(void)cancelRecord;

/**
 完成录制
 */
-(void)finishedVideoRecord;

/**记录视频的录制进度  0-1 */
@property (nonatomic, strong) void (^videoRecordProgress)(CGFloat progress);

/**关闭闪关灯*/
-(void)closeFlash;
// 开启闪关灯
-(void)openFlash;
//切换前后摄像头
-(void)rotateCamera;

/**开启定时器*/
-(void)startTime;
/**停止定时器*/
-(void)stopTimer;

/**
 开启美颜功能
 */
-(void)openBeauty;



/**
 关闭美颜功能
 */
-(void)closeBeauty;
/**获取文件名 生成文件保存路径*/
-(NSString *)getVideoFileSavePath;
@end
